1
การปรับปรุงโค้ดให้มีประสิทธิภาพด้วยคำสั่งใช้การประกาศ (using declarations)
AI037Lesson 5
00:00

ในภาษาซีพลัส ตัวดำเนินการ ตัวดำเนินการช่วงความหมาย (::) ทำงานเหมือนเครื่องนำทางแม่นยำ บอกกับคอมไพเลอร์อย่างชัดเจนว่าควรค้นหาในพื้นที่ชื่อใด แต่การพิมพ์ std:: ซ้ำ ๆ บ่อยครั้งเหมือนการเขียนชื่อเต็มของคุณทุกครั้งที่พูด เราใช้ คำสั่งใช้การประกาศ (using declarations) เพื่อสร้างชื่อเรียกแทนในระดับท้องถิ่น

1. คำสั่งใช้การประกาศ (using declaration)

คำสั่ง using การประกาศช่วยให้เราเข้าถึงชื่อจากพื้นที่ชื่ออื่นโดยไม่ต้องใช้คำนำหน้า มันใช้รูปแบบ: using namespace_name::name;. ทุกคำสั่งต้องลงท้ายด้วย จุดสองน้ำ. เมื่อประกาศแล้ว ชื่อนี้จะอยู่ใน บริเวณที่สามารถเข้าถึงได้ ตั้งแต่จุดที่ประกาศจนถึงจุดสิ้นสุดของ บริเวณท้องถิ่น (เช่น บล็อกฟังก์ชัน) หรือ บริเวณทั่วไป (ระดับไฟล์)

using std::cin; // cin ตอนนี้หมายถึง std::cin
โหมดละเอียดstd::cout << "สวัสดี";std::cin >> x;std::cout << std::endl;โหมดที่ปรับปรุงแล้วusing std::cout;using std::endl;cout << "สวัสดี" << endl;

2. ความสะอาดของหัวข้อไฟล์และระบบกั้น

เพื่อสนับสนุน การรวมไฟล์แยกกัน, เราใช้ ระบบกั้นหัวข้อไฟล์. ระบบนี้ป้องกันไม่ให้ตัวประมวลผลนำไฟล์เดียวกันมาใส่หลายครั้ง ซึ่งอาจทำให้เกิดข้อผิดพลาด "การนิยามซ้ำ" การใช้ #ifndef (ถ้าไม่ได้กำหนด), #define, และ #endif ทำให้หัวข้อไฟล์ถูกประมวลผลเพียงครั้งเดียวเท่านั้น

⚠️ กฎสำคัญ
โค้ดภายในหัวข้อไฟล์โดยทั่วไปควรถูกหลีกเลี่ยงการใช้คำสั่งใช้การประกาศ เนื่องจากหัวข้อไฟล์ถูกคัดลอกไปยังทุกไฟล์ที่ #includeใช้งาน คำสั่งใช้การประกาศในหัวข้อไฟล์จะบังคับให้ชื่อนั้นเข้าสู่บริเวณการใช้งานของทุกไฟล์ที่รวมไฟล์นั้น ซึ่งอาจก่อให้เกิดการชนกันของชื่อโดยไม่รู้ตัว using คำสั่งใช้การประกาศในหัวข้อไฟล์บังคับให้ชื่อนั้นเข้าสู่บริเวณการใช้งานของทุกไฟล์ที่รวมไฟล์นั้น ซึ่งอาจก่อให้เกิดการชนกันของชื่อโดยไม่รู้ตัว
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>